Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2022, 13:24
Интересующийся
Отправить личное сообщение для Andrew2108 Посмотреть профиль Найти все сообщения от Andrew2108
 
Регистрация: 18.02.2022
Сообщений: 22

AJAX и вопросы по js
У меня такие вопросы на которые я не знаю ответов, подскажите или направьте в нужное русло пожалуйста.
Вопросы:
1) Файлы обработки ajax-запросов не должны быть доступны из браузера, если это не ajax-запрос;
2) Если js отключен, то форма отправиться не может;
3) Доступ к файлу базы должен осуществляться только на стороне php. (это вроде я сделал, что обращение к бд у меня исключительно на сервере и нигде больше, вопрос заключается в том, чтобы обезопасить проникновение в файл бд другими способами)
* имеется ввиду, что при выполнении предыдущего пункта, к файлу нельзя будет обращаться, например, через ajax запрос.
4) Файл базы не должен быть доступен по прямому урл (как это реализовать? бд у меня - это файл json)

Последний раз редактировалось Andrew2108, 02.03.2022 в 13:31.
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2022, 14:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,279

Сообщение от Andrew2108
бд у меня - это файл json
Это не БД.
Сообщение от Andrew2108
Если js отключен, то форма отправиться не может
Форма может отправляться и без использования скриптов.
<form>
   <input name='test' />
   <button>Отправить</button>
</form>

Данные этой формы будут отправлять без скриптов, т.к. их просто нет.
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2022, 14:46
Интересующийся
Отправить личное сообщение для Andrew2108 Посмотреть профиль Найти все сообщения от Andrew2108
 
Регистрация: 18.02.2022
Сообщений: 22

Как сделать так, чтобы она не могла отправится ?
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2022, 15:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,279

Сообщение от Andrew2108
Как сделать так, чтобы она не могла отправится ?
Форма?
Написать скрипт...

Andrew2108, есть мнение... (с)
Что ты собрался рыть подземных ход на чердак. От того и вопросы у тебя не совсем понятные.
Строго говоря это даже не вопросы, а просто перечень каких-то утверждений.

Тут бы узнать какую задумку ты хочешь реализовать...
Тогда и варианты решения этого можно было бы предложить.
Ответить с цитированием
  #5 (permalink)  
Старый 02.03.2022, 18:39
Интересующийся
Отправить личное сообщение для Andrew2108 Посмотреть профиль Найти все сообщения от Andrew2108
 
Регистрация: 18.02.2022
Сообщений: 22

Это я сделал.
● Доступ к файлу базы должен осуществляться только на стороне php.
* имеется ввиду, что при выполнении предыдущего пункта, к файлу нельзя будет обращаться, например, через ajax запрос.
Как реализовать это вы не знаете ?
Ответить с цитированием
  #6 (permalink)  
Старый 02.03.2022, 19:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,279

Сообщение от Andrew2108
Доступ к файлу базы должен осуществляться только на стороне php.
Если файл не будет доступен по каким-либо УРЛ - это будет выполнено.
Но это все должен обеспечить ты сам на своем сервере.
Ответить с цитированием
  #7 (permalink)  
Старый 18.04.2022, 12:58
Новичок на форуме
Отправить личное сообщение для reg33 Посмотреть профиль Найти все сообщения от reg33
 
Регистрация: 15.04.2022
Сообщений: 1

добрый день.
Добрый день. Я новичек в програмировании как на Си и вообще нуб JS.

Так у меня и не получилось использовать технологию JSON.

На сервере вормирую посыку при запросе браузера. Сама посылка формируется

void serializeToJSON (char *outArrData, const measTemp *tempData ){
char temp1[]="\"temp1\":";
char temp2[]="\"temp2\":";
char temp3[]="\"temp3\":";

sprintf (outArrData, "{%s%s,%s%s,%s%s}",temp1,tempData->sensorOnetemp,temp2,tempData->sensorTwotemp,temp3,tempData->sensorThreetemp);
}

По вашему примеру написал сначала попробовал принять чисто строку написав в скрипте

xhr.responseType = "text"; все работает получаю стандартную на мой взгляд JSON строку

в косоле выводиться {"temp1":+28.563,"temp2":+28.563,"temp3":"+temp "} 192.168.1.193:39:17

когда по вашему примеру JS пишу

function Timer1() { // функция для запроса данных
xhr.open("GET", "content.html?r=" + Math.random(), true); //Math.random() - защита от кеширования
xhr.responseType = "json"; // преобразование ответа JSON в обьект JS
xhr.onload = function(oEvent) {



var data=xhr.responseText;
var jsonResponse = JSON.parse(data);
console.log(data);

document.getElementById('sensor1').innerHTML = jsonResponse["temp1"];
document.getElementById('sensor2').innerHTML = jsonResponse["temp2"];
document.getElementById('sensor3').innerHTML = jsonResponse["temp3"];

}
xhr.send(null);
idTimer1 = setTimeout("Timer1()", 1000);
}

в консоль выводит

Uncaught DOMException: XMLHttpRequest.responseText getter: responseText is only available if responseType is '' or 'text'. 192.168.1.193:22

Подскажите что я делаю не так?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кросс-доменный запрос Ajax на чистом JS Setraiser AJAX и COMET 5 17.05.2019 18:54
При подгрузке страницы через AJAX JS не отрабатывается, но подгружается vityurov Общие вопросы Javascript 2 20.06.2013 12:24
JS внутри AJAX pagal AJAX и COMET 8 11.10.2011 11:19
Вакансия: Front-end разработчик (HTML, CSS, JS, Ajax, jQuery) ivankov Работа 0 05.10.2010 19:00
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36